package sifeap.entities.usuarios;

import java.io.Serializable;
import javax.persistence.*;

import java.util.List;


/**
 * The persistent class for the roles database table.
 * 
 */
@Entity
@Table(name="roles", schema="sifeap")
@Cacheable(false)
public class Rol implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(unique=true, nullable=false, length=50)
	private String nombreRol;

	@Column(length=256)
	private String descripcion;

	@Column(nullable=false, length=1)
	private String habilitado;

	//bi-directional many-to-one association to PermisosRol
	@OneToMany(mappedBy="role")
	private List<PermisosRol> permisosrols;

	//bi-directional many-to-many association to Usuario
	@ManyToMany(mappedBy="roles")
	private List<Usuario> usuarios;

	public Rol() {
	}

	public String getNombreRol() {
		return this.nombreRol;
	}

	public void setNombreRol(String nombreRol) {
		this.nombreRol = nombreRol;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public String getHabilitado() {
		return this.habilitado;
	}

	public void setHabilitado(String habilitado) {
		this.habilitado = habilitado;
	}

	public List<PermisosRol> getPermisosrols() {
		return this.permisosrols;
	}

	public void setPermisosrols(List<PermisosRol> permisosrols) {
		this.permisosrols = permisosrols;
	}

	public PermisosRol addPermisosrol(PermisosRol permisosrol) {
		getPermisosrols().add(permisosrol);
		permisosrol.setRole(this);

		return permisosrol;
	}

	public PermisosRol removePermisosrol(PermisosRol permisosrol) {
		getPermisosrols().remove(permisosrol);
		permisosrol.setRole(null);

		return permisosrol;
	}

	public List<Usuario> getUsuarios() {
		return this.usuarios;
	}

	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

}